1
תגובות
אהלן .
אני משתמש בקוד הבא :

public function select( $table,$what_to = "*",$where = array(),$object = true )
  {
    $query = "SELECT ".$what_to." FROM ".$table.($where ? " WHERE " : "" );
    foreach ($where as $key => $val)
    {
      $val = $this->escape($val);
      $query .= $key." = ".$val;
      if(count($where)>1 && end($where) != $val )
      $query .= " AND ";
    }
    $query = $this->query($query);
    return ($object ? $query->fetch_object() : $query->fetch_assoc());
 
  }

# נמצא בתוך הקלאס db .

$row = $db->select("users" , "*" , array("online" => "online"));
              while ($row2 = $row)
              {
              echo $row2->id;
              }


ואני לא מבין מה הבעיה כאן , העמוד נטען ונטען כיאלו שמתי ערך true בתוך הלולאה (while(true)) .
אשמח לעזרה :)

שנה טובה :)

1 תשובות

avatar ענה shlomo120 ב 16 לספטמבר 2012 #

הסתדרתי !

הקוד המתוקן (וגם היותר משופר (: )

public function select($setting = array(),$where = array())
  {
    if(!isset($setting["what_to"])) $setting["what_to"] = "*" ;
    if(!isset($setting["table"])) $setting["table"] = "users";
    if(!isset($setting["set"])) $setting["set"] = "if" ;
    if(!isset($setting["object"])) $setting["object"] = true;
   
    $query = "SELECT ".$setting["what_to"]." FROM ".$setting["table"].($where ? " WHERE " : "" );
    foreach ($where as $key => $val)
    {
      $val = $this->escape($val);
      $query .= $key." = ".$val;
      if(count($where)>1 && end($where) != $val )
      $query .= " AND ";
    }
    $query = $this->query($query);
    if($setting["set"] == "if") return $query;
    if($setting["set"] == "row") return ($setting["object"] ? $query->fetch_object() : $query->fetch_assoc());
 
  }

#מהקלאס db

אופן שימוש :
if ($result = $db->select(array("table"=>"setting")))
    {
      while ($row = $result->fetch_object())
      {
       
      }
    }


שנה טובה וחג שמח !